An interrupt is a break in the normal flow of instruction processing in a central processing unit triggered by a hardware signal from an external or internal source. Typically, a microprocessor will have a plurality of interrupt sources each of which can be enabled or triggered to execute an interrupt service routine. Each of the interrupt sources of the microprocessor has an assignable priority level which is typically set by default.
When two interrupts are enabled, the interrupt with the highest priority level should initiate its interrupt service routine. The interrupts also have a service order so that if two interrupts having the same highest priority level are enabled, the interrupt being first in the service order initiates its interrupt service routine.
It is necessary to ensure that not only do the interrupt sources themselves correctly function but also to check that a higher priority interrupt will interrupt a lower priority interrupt—a priority test. Typically, microprocessor products did not have many priority levels for the respective interrupt sources. However, there is now a trend to use more priority levels so there is a need to establish an effective test to determine whether the priority levels are being correctly interpreted by the interrupt controls.